package org.example.service;

import org.example.scheduledEntity.ScheduSpringCron;
import org.example.util.R;

import javax.xml.bind.ValidationException;
import java.util.List;

/**
 * @author 张在成
 */
public interface ScheduTaskService {

    /**
     *  获取全部定时任务列表
     * @return 定时任务列表
     */
    R<List<ScheduSpringCron>> getScheduleTaskList();

    /**
     * 新增定时任务
     * @param springCron
     * @return 受影响的行数
     */
    boolean insertScheduleTask(ScheduSpringCron springCron) throws Exception;

    /**
     * 批量新增定时任务
     * @param springCron
     * @return 受影响的行数
     */
    int insertBatchScheduleTask(List<ScheduSpringCron> springCron);

    /**
     * 批量修改定时任务
     * @param springCron
     * @return 受影响的行数
     */
    int updateBatchScheduleTask(List<ScheduSpringCron> springCron);

    /**
     * 单个修改定时任务
     * @param springCron
     * @return 受影响的行数
     */
    boolean updateScheduleTask(ScheduSpringCron springCron) throws ValidationException;


    /**
     * 根据id查询定时任务
     * @param cronId
     * @return 一条附件信息记录
     */
    ScheduSpringCron getScheduleTaskByCronId(Integer cronId);



    /**
     * 根据主键ID删除定时任务
     * @param cronId
     * @return 受影响的行数
     */
    int delScheduleTask(Integer cronId);







}
